Sensor Fusion for Kinetis MCUs (ISSDK/KSDK version)
hal_frdm_fxs_mult2_b.c File Reference
+ Include dependency graph for hal_frdm_fxs_mult2_b.c:

Go to the source code of this file.

Functions

void ApplyAccelHAL (AccelSensor *Accel)
 
void ApplyMagHAL (MagSensor *Mag)
 
void ApplyGyroHAL (GyroSensor *Gyro)
 

Function Documentation

void ApplyAccelHAL ( AccelSensor Accel)

Apply the accelerometer Hardware Abstraction Layer.

Parameters
Accelpointer to accelerometer logical sensor

Definition at line 44 of file hal_frdm_fxs_mult2_b.c.

Referenced by initializeSensors().

45 {
46  int8 i; // loop counter
47 
48  // apply HAL to all measurements read from FIFO buffer
49  for (i = 0; i < Accel->iFIFOCount; i++)
50  {
51  // apply HAL mapping to coordinate system used
52 #if THISCOORDSYSTEM == NED
53  int16 itmp16 = Accel->iGsFIFO[i][CHX];
54  Accel->iGsFIFO[i][CHX] = Accel->iGsFIFO[i][CHY];
55  Accel->iGsFIFO[i][CHY] = itmp16;
56 #endif // NED
57 #if THISCOORDSYSTEM == ANDROID
58  Accel->iGsFIFO[i][CHX] = -Accel->iGsFIFO[i][CHX];
59  Accel->iGsFIFO[i][CHY] = -Accel->iGsFIFO[i][CHY];
60 #endif // Android
61 #if (THISCOORDSYSTEM == WIN8)
62  Accel->iGsFIFO[i][CHZ] = -Accel->iGsFIFO[i][CHZ];
63 #endif // Win8
64 
65  } // end of loop over FIFO count
66 
67  return;
68 }
int16_t iGsFIFO[ACCEL_FIFO_SIZE][3]
FIFO measurements (counts)
#define CHY
Used to access Y-channel entries in various data data structures.
Definition: sensor_fusion.h:77
#define CHZ
#define CHX
Used to access X-channel entries in various data data structures.
Definition: sensor_fusion.h:76
uint8_t iFIFOCount
number of measurements read from FIFO
int16_t int16
Definition: sensor_fusion.h:56
int8_t int8
Definition: sensor_fusion.h:55

+ Here is the caller graph for this function:

void ApplyGyroHAL ( GyroSensor Gyro)

Apply the gyroscope Hardware Abstraction Layer.

Parameters
Gyropointer to gyroscope logical sensor

Definition at line 99 of file hal_frdm_fxs_mult2_b.c.

Referenced by processMagData().

100 {
101  int8 i; // loop counter
102 
103  // apply HAL to all measurements read from FIFO buffer
104  for (i = 0; i < Gyro->iFIFOCount; i++)
105  {
106  // apply HAL mapping to coordinate system used
107 #if THISCOORDSYSTEM == NED
108  int16 itmp16 = Gyro->iYsFIFO[i][CHX];
109  Gyro->iYsFIFO[i][CHX] = -Gyro->iYsFIFO[i][CHY];
110  Gyro->iYsFIFO[i][CHY] = -itmp16;
111  Gyro->iYsFIFO[i][CHZ] = -Gyro->iYsFIFO[i][CHZ];
112 #endif // NED
113 #if THISCOORDSYSTEM == ANDROID
114  Gyro->iYsFIFO[i][CHX] = -Gyro->iYsFIFO[i][CHX];
115  Gyro->iYsFIFO[i][CHY] = -Gyro->iYsFIFO[i][CHY];
116 #endif // Android
117 #if THISCOORDSYSTEM == WIN8
118  Gyro->iYsFIFO[i][CHX] = -Gyro->iYsFIFO[i][CHX];
119  Gyro->iYsFIFO[i][CHY] = -Gyro->iYsFIFO[i][CHY];
120 #endif // Win8
121 
122  } // end of loop over FIFO count
123 
124  return;
125 }
#define CHY
Used to access Y-channel entries in various data data structures.
Definition: sensor_fusion.h:77
uint8_t iFIFOCount
number of measurements read from FIFO
#define CHZ
int16_t iYsFIFO[GYRO_FIFO_SIZE][3]
FIFO measurements (counts)
#define CHX
Used to access X-channel entries in various data data structures.
Definition: sensor_fusion.h:76
int16_t int16
Definition: sensor_fusion.h:56
int8_t int8
Definition: sensor_fusion.h:55

+ Here is the caller graph for this function:

void ApplyMagHAL ( MagSensor Mag)

Apply the magnetometer Hardware Abstraction Layer.

Parameters
Magpointer to magnetometer logical sensor

Definition at line 71 of file hal_frdm_fxs_mult2_b.c.

Referenced by processMagData().

72 {
73  int8 i; // loop counter
74 
75  // apply HAL to all measurements read from FIFO buffer
76  for (i = 0; i < Mag->iFIFOCount; i++)
77  {
78  // apply HAL mapping to coordinate system used
79 #if THISCOORDSYSTEM == NED
80  int16 itmp16 = Mag->iBsFIFO[i][CHX];
81  Mag->iBsFIFO[i][CHX] = -Mag->iBsFIFO[i][CHY];
82  Mag->iBsFIFO[i][CHY] = -itmp16;
83  Mag->iBsFIFO[i][CHZ] = -Mag->iBsFIFO[i][CHZ];
84 #endif // NED
85 #if THISCOORDSYSTEM == ANDROID
86  Mag->iBsFIFO[i][CHX] = -Mag->iBsFIFO[i][CHX];
87  Mag->iBsFIFO[i][CHY] = -Mag->iBsFIFO[i][CHY];
88 #endif // Android
89 #if THISCOORDSYSTEM == WIN8
90  Mag->iBsFIFO[i][CHX] = -Mag->iBsFIFO[i][CHX];
91  Mag->iBsFIFO[i][CHY] = -Mag->iBsFIFO[i][CHY];
92 #endif
93  } // end of loop over FIFO count
94 
95  return;
96 }
#define CHY
Used to access Y-channel entries in various data data structures.
Definition: sensor_fusion.h:77
#define CHZ
uint8_t iFIFOCount
number of measurements read from FIFO
#define CHX
Used to access X-channel entries in various data data structures.
Definition: sensor_fusion.h:76
int16_t iBsFIFO[MAG_FIFO_SIZE][3]
FIFO measurements (counts)
int16_t int16
Definition: sensor_fusion.h:56
int8_t int8
Definition: sensor_fusion.h:55

+ Here is the caller graph for this function: